home *** CD-ROM | disk | FTP | other *** search
/ Carousel Volume 2 #1 / carousel.iso / mactosh / hc / hyperala.sit / HyperAlarms 1.1 / stack.txt < prev   
Text File  |  1988-11-14  |  6KB  |  265 lines

  1. -- stack: in.1
  2. -- format: 8 (HyperCard 1)
  3. -- flags: 0x0 (none)
  4. -- protect password hash: 1347775074
  5. -- maximum user level: 2 (typing)
  6. -- window: Rect(x1=0, y1=0, x2=0, y2=0)
  7. -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 1
  11. -- first background id: 2697
  12. -- card count: 2
  13. -- first card id: 3678
  14. -- list block id: 4043
  15. -- print block id: 3419
  16. -- font table block id: 0
  17. -- style table block id: 0
  18. -- free block count: 1
  19. -- free size: 6208 bytes
  20. -- total size: 24576 bytes
  21. -- stack block size: 5120 bytes
  22. -- created by hypercard version: 0x00000000
  23. -- compacted by hypercard version: 0x00000000
  24. -- modified by hypercard version: 0x00000000
  25. -- opened by hypercard version: 0x01208000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x0000220000002200
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0xCC003300CC003300
  30. -- patterns[4]: 0xCC883322CC883322
  31. -- patterns[5]: 0xFF00FF00FF00FF00
  32. -- patterns[6]: 0xEECCBB33EECCBB33
  33. -- patterns[7]: 0xFFCCFF33FFCCFF33
  34. -- patterns[8]: 0xFFEEFFBBFFEEFFBB
  35. -- patterns[9]: 0xFFFFFFBBFFFFFFBB
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0x5555555555555555
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0xAA00800088008000
  59. -- patterns[33]: 0xFF80808080808080
  60. -- patterns[34]: 0x081C22C180010204
  61. -- patterns[35]: 0xFF808080FF080808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x0
  67. ----- HyperTalk script -----
  68. on idle
  69.   global inField
  70.   if inField is false then
  71.     put the abbrev date && the short time into field Today
  72.     checkAlarm
  73.   end if
  74. end idle
  75.  
  76. -- on doMenu
  77. get the mouseH
  78. if it > 69 and it < 195 then
  79.   get the mouseV
  80.   if it > 131 and it < 164 then
  81.     beep
  82.     go to stack "HyperAlarm Help 1.1"
  83.     go to first card of bkgnd "Register"
  84.     exit doMenu
  85.   else
  86.   end if
  87. end if
  88. pass doMenu
  89. end doMenu
  90.  
  91. on mouseEnter
  92.   global inField
  93.   get the name of the target
  94.   if it contains "field" then
  95.     put true into inField
  96.   end if
  97. end mouseEnter
  98.  
  99. on mouseLeave
  100.   global inField
  101.   get the name of the target
  102.   if it contains "field" then
  103.     put false into inField
  104.   end if
  105. end mouseLeave
  106.  
  107. on openStack
  108.   global inField
  109.   put false into inField
  110.   hide message box
  111.   hide menuBar
  112. end openStack
  113.  
  114. on newCard
  115.   put the abbrev date into field Date
  116.   get the short time
  117.   put it into field Time
  118.   convert it to seconds
  119.   put it into field AlarmTime
  120. end newCard
  121.  
  122. on openCard
  123.   global Alarm
  124.   put the number of this card into field CardNumber
  125.   hide field Expired
  126.   hide field AlarmTime
  127.   hide field AutoReset
  128.   if field "AutoReset" is true then
  129.     set hilite of bkgnd button "AutoReset" to true
  130.     show bkgnd button "Do a reset"
  131.     show field AMonth
  132.     show field ADay
  133.     show field AYear
  134.     show field AHour
  135.     show field AMinute
  136.   else
  137.     set hilite of bkgnd button "AutoReset" to false
  138.     hide bkgnd button "Do a reset"
  139.     hide field AMonth
  140.     hide field ADay
  141.     hide field AYear
  142.     hide field AHour
  143.     hide field AMinute
  144.   end if
  145.   checkAlarm
  146. end openCard
  147.  
  148. on closeField
  149.   get the short name of the target
  150.   if it contains "Date" or it contains "Time" then
  151.     get field Date
  152.     convert it to dateItems
  153.     put it into NewAlarm
  154.     get field Time
  155.     convert it to dateItems
  156.     put item 4 of it into item 4 of NewAlarm
  157.     put item 5 of it into item 5 of NewAlarm
  158.     convert NewAlarm to seconds
  159.     put NewAlarm into field AlarmTime
  160.     checkAlarm
  161.   end if
  162. end closeField
  163.  
  164. on closeAlarms
  165.   global Alarm
  166.   set lockScreen to true
  167.   if Alarm = -1 then
  168.     put empty into Alarm
  169.   end if
  170.   sort by field AlarmTime
  171.   set cursor to 4
  172.   resetAlarms
  173.   set cursor to 0
  174.   sort by field AlarmTime
  175.   go to first card
  176.   get field AlarmTime
  177.   put it into Alarm
  178.   convert it to abbrev date
  179.   put it into temp
  180.   get field AlarmTime
  181.   convert it to short time
  182.   answer "Next alarm at" && temp && it with OK
  183.   set lockScreen to false
  184. end closeAlarms
  185.  
  186. on checkAlarm
  187.   global BoingCount
  188.   get the long time
  189.   convert it to seconds
  190.   if it > field AlarmTime then
  191.     set hilite of bkgnd button Expired to true
  192.     put true into field Expired
  193.     add 1 to BoingCount
  194.     if BoingCount = 1 then
  195.       play Boing tempo 60 c
  196.     end if
  197.   else
  198.     put 0 into BoingCount
  199.     set hilite of bkgnd button Expired to false
  200.     put false into field Expired
  201.   end if
  202. end checkAlarm
  203.  
  204. on resetAlarms
  205.   go to first card
  206.   repeat for number of cards
  207.     put false into killit
  208.     checkAlarm
  209.     if field Expired is true then
  210.       if field AutoReset is true then
  211.         resetAlarm
  212.         checkAlarm
  213.         resetAlarms
  214.       else
  215.         doMenu "Delete Card"
  216.       end if
  217.     else
  218.       exit repeat
  219.     end if
  220.     if killit is true then
  221.     else
  222.       go to next card
  223.     end if
  224.   end repeat
  225. end resetAlarms
  226.  
  227. on resetAlarm
  228.   get field AlarmTime
  229.   convert it to dateItems
  230.   put it into NewAlarm
  231.   get field AMinute
  232.   if it is not empty then
  233.     add it to item 5 of NewAlarm
  234.   end if
  235.   get field AHour
  236.   if it is not empty then
  237.     add it to item 4 of NewAlarm
  238.   end if
  239.   get field ADay
  240.   if it is not empty then
  241.     add it to item 3 of NewAlarm
  242.   end if
  243.   get field AMonth
  244.   if it is not empty then
  245.     add it to item 2 of NewAlarm
  246.   end if
  247.   get field AYear
  248.   if it is not empty then
  249.     add it to item 1 of NewAlarm
  250.   end if
  251.   convert NewAlarm to seconds
  252.   put NewAlarm into field AlarmTime
  253.   get NewAlarm
  254.   convert it to abbrev date
  255.   put it into field Date
  256.   get NewAlarm
  257.   convert it to short time
  258.   put it into field Time
  259. end resetAlarm
  260.  
  261.  
  262.  
  263.  
  264.  
  265.